<?php

require_once(BaseConfig::LoadClass('objeto_base.class.php'    ));
require_once(BaseConfig::LoadClass('filtro.class.php'         ));
require_once(BaseConfig::LoadClass('abc.class.php'            ));
require_once(BaseConfig::LoadClass('carga_excel.class.php'    ));

class Ordenes extends ObjetoBase {
  var $intIdOrden     ;
  var $intOrderP      ;
  var $strNumber1     ;
  var $strVendor      ;
  var $strCurrency    ;
  var $strOrderDate   ;
  var $strMonth       ;
  var $strOrderStatus ;
  var $strBYR         ;
  var $strShipToCode  ;
  var $strShipVia     ;
  var $strWarehouse   ;
  var $fltOrderWeight ;
  var $strUserName    ;
  var $strAltAddress  ;
  var $strA4glIdentify;
  var $intLineNo      ;
  var $strItem        ;
  var $intQtyOrdered  ;
  var $intQtyRecived  ;
  var $intQtyInv      ;
  var $strWHS         ;
  var $strETD         ;
  var $strETA         ;
  
  function Ordenes($intIdOrden = 0) {
    $arrMapaDatos = Array();
    
    $arrMapaDatos['id_orden'     ] = Array('NombreVariable' => 'intIdOrden'     , 'TipoVariable' => 'I');
    $arrMapaDatos['orderp'       ] = Array('NombreVariable' => 'intOrderP'      , 'TipoVariable' => 'N');
    $arrMapaDatos['number_1'     ] = Array('NombreVariable' => 'strNumber1'     , 'TipoVariable' => 'S');
    $arrMapaDatos['vendor'       ] = Array('NombreVariable' => 'strVendor'      , 'TipoVariable' => 'S');
    $arrMapaDatos['currency'     ] = Array('NombreVariable' => 'strCurrency'    , 'TipoVariable' => 'S');
    $arrMapaDatos['order_date'   ] = Array('NombreVariable' => 'strOrderDate'   , 'TipoVariable' => 'S');
    $arrMapaDatos['month'        ] = Array('NombreVariable' => 'strMonth'       , 'TipoVariable' => 'S');
    $arrMapaDatos['order_status' ] = Array('NombreVariable' => 'strOrderStatus' , 'TipoVariable' => 'S');
    $arrMapaDatos['byr'          ] = Array('NombreVariable' => 'strBYR'         , 'TipoVariable' => 'S');
    $arrMapaDatos['ship_to_code' ] = Array('NombreVariable' => 'strShipToCode'  , 'TipoVariable' => 'S');
    $arrMapaDatos['ship_via'     ] = Array('NombreVariable' => 'strShipVia'     , 'TipoVariable' => 'S');
    $arrMapaDatos['warehouse'    ] = Array('NombreVariable' => 'strWarehouse'   , 'TipoVariable' => 'S');
    $arrMapaDatos['order_weight' ] = Array('NombreVariable' => 'fltOrderWeight' , 'TipoVariable' => 'N');
    $arrMapaDatos['user_name'    ] = Array('NombreVariable' => 'strUserName'    , 'TipoVariable' => 'S');
    $arrMapaDatos['alt_address'  ] = Array('NombreVariable' => 'strAltAddress'  , 'TipoVariable' => 'S');
    $arrMapaDatos['a4gl_identify'] = Array('NombreVariable' => 'strA4glIdentify', 'TipoVariable' => 'S');
    $arrMapaDatos['line_no'      ] = Array('NombreVariable' => 'intLineNo'      , 'TipoVariable' => 'N');
    $arrMapaDatos['item'         ] = Array('NombreVariable' => 'strItem'        , 'TipoVariable' => 'S');
    $arrMapaDatos['qty_orderer'  ] = Array('NombreVariable' => 'intQtyOrdered'  , 'TipoVariable' => 'N');
    $arrMapaDatos['qty_recived'  ] = Array('NombreVariable' => 'intQtyRecived'  , 'TipoVariable' => 'N');
    $arrMapaDatos['qty_inv'      ] = Array('NombreVariable' => 'intQtyInv'      , 'TipoVariable' => 'N');
    $arrMapaDatos['whs'          ] = Array('NombreVariable' => 'strWHS'         , 'TipoVariable' => 'S');
    $arrMapaDatos['etd'          ] = Array('NombreVariable' => 'strETD'         , 'TipoVariable' => 'S');
    $arrMapaDatos['eta'          ] = Array('NombreVariable' => 'strETA'         , 'TipoVariable' => 'S');
    
    $this->__ArmarDatosPrivados('ordenes', $arrMapaDatos, 'id_orden');
    $this->SeleccionarPorIndice($intIdOrden);
  }
}

class FiltroOrdenes extends Filtro {
  function FiltroOrdenes() {
    $arrProceso['orderp'       ] = "Order"        ;
    $arrProceso['number_1'     ] = "Number 1"     ;
    $arrProceso['vendor'       ] = "Vendor"       ;
    $arrProceso['currency'     ] = "Currency"     ;
    $arrProceso['order_date'   ] = "ORDER DATE"   ;
    $arrProceso['month'        ] = "MONTH"        ;
    $arrProceso['order_status' ] = "ORDER STATUS" ;
    $arrProceso['byr'          ] = "BYR"          ;
    $arrProceso['ship_to_code' ] = "SHIP TO CODE" ;
    $arrProceso['ship_via'     ] = "SHIP VIA"     ;
    $arrProceso['warehouse'    ] = "WAREHOUSE"    ;
    $arrProceso['order_weight' ] = "ORDER WEIGHT" ;
    $arrProceso['user_name'    ] = "USER NAME"    ;
    $arrProceso['alt_address'  ] = "ALT ADRESS"   ;
    $arrProceso['a4gl_identify'] = "A4GL IDENTIFY";
    $arrProceso['line_no'      ] = "LINE NO"      ;
    $arrProceso['item'         ] = "ITEM"         ;
    $arrProceso['qty_orderer'  ] = "QTY ORDERED"  ;
    $arrProceso['qty_recived'  ] = "QTY RECEIVED" ;
    $arrProceso['qty_inv'      ] = "QTY INV"      ;
    $arrProceso['whs'          ] = "WHS"          ;
    $arrProceso['etd'          ] = "ETD"          ;
    $arrProceso['eta'          ] = "ETA"          ;
    
    parent::CrearFiltro("ordenes", "id_orden", $arrProceso, "Busqueda", "", "id_orden ASC", "Ordenes");
  }
}

class Carga_Ordenes extends CargaExcel {
  function Carga_Ordenes() {
    parent::CargaExcel();
    $arrProceso['orderp'       ] = "Order"        ;
    $arrProceso['number_1'     ] = "Number 1"     ;
    $arrProceso['vendor'       ] = "Vendor"       ;
    $arrProceso['currency'     ] = "Currency"     ;
    $arrProceso['order_date'   ] = "ORDER DATE"   ;
    $arrProceso['month'        ] = "MONTH"        ;
    $arrProceso['order_status' ] = "ORDER STATUS" ;
    $arrProceso['byr'          ] = "BYR"          ;
    $arrProceso['ship_to_code' ] = "SHIP TO CODE" ;
    $arrProceso['ship_via'     ] = "SHIP VIA"     ;
    $arrProceso['warehouse'    ] = "WAREHOUSE"    ;
    $arrProceso['order_weight' ] = "ORDER WEIGHT" ;
    $arrProceso['user_name'    ] = "USER NAME"    ;
    $arrProceso['alt_address'  ] = "ALT ADRESS"   ;
    $arrProceso['a4gl_identify'] = "A4GL IDENTIFY";
    $arrProceso['line_no'      ] = "LINE NO"      ;
    $arrProceso['item'         ] = "ITEM"         ;
    $arrProceso['qty_orderer'  ] = "QTY ORDERED"  ;
    $arrProceso['qty_recived'  ] = "QTY RECEIVED" ;
    $arrProceso['qty_inv'      ] = "QTY INV"      ;
    $arrProceso['whs'          ] = "WHS"          ;
    $arrProceso['etd'          ] = "ETD"          ;
    $arrProceso['eta'          ] = "ETA"          ;
    
//    $arrConstantes["fecha"] = date("Y-m-d H:i:s");
    
    $arrReferencias = array();
    
    $this->Init("Ordenes", "ordenes", $arrProceso, $arrReferencias, $arrConstantes);
    
    $this->intPrimeraLinea       = 0;
    $this->intCargarSoloCompleto = 0;
    $this->bolLimpiarTablaAntes  = true;
    
    $this->__arrInfoSaltarLinea[] = "Order";
  }
}


class ABC_Ordenes extends ABC_Base {
  function ABC_Ordenes() {
    $strClaseBase     = "Ordenes"      ;
    $strClaseFiltro   = "FiltroOrdenes";
    $strClaseCarga    = "Carga_Ordenes";
    $strCampoMostrar  = "orderp,number_1";
    $strOpcionListado = "abc_ordenes"  ;
    $strOpcionGuardar = "abc_ordenes"  ;

    $arrNombresColumnas = array();
    $arrNombresColumnas['orderp'       ] = "Order"        ;
    $arrNombresColumnas['number_1'     ] = "Number 1"     ;
    $arrNombresColumnas['vendor'       ] = "Vendor"       ;
    $arrNombresColumnas['currency'     ] = "Currency"     ;
    $arrNombresColumnas['order_date'   ] = "ORDER DATE"   ;
    $arrNombresColumnas['month'        ] = "MONTH"        ;
    $arrNombresColumnas['order_status' ] = "ORDER STATUS" ;
    $arrNombresColumnas['byr'          ] = "BYR"          ;
    $arrNombresColumnas['ship_to_code' ] = "SHIP TO CODE" ;
    $arrNombresColumnas['ship_via'     ] = "SHIP VIA"     ;
    $arrNombresColumnas['warehouse'    ] = "WAREHOUSE"    ;
    $arrNombresColumnas['order_weight' ] = "ORDER WEIGHT" ;
    $arrNombresColumnas['user_name'    ] = "USER NAME"    ;
    $arrNombresColumnas['alt_address'  ] = "ALT ADRESS"   ;
    $arrNombresColumnas['a4gl_identify'] = "A4GL IDENTIFY";
    $arrNombresColumnas['line_no'      ] = "LINE NO"      ;
    $arrNombresColumnas['item'         ] = "ITEM"         ;
    $arrNombresColumnas['qty_orderer'  ] = "QTY ORDERED"  ;
    $arrNombresColumnas['qty_recived'  ] = "QTY RECEIVED" ;
    $arrNombresColumnas['qty_inv'      ] = "QTY INV"      ;
    $arrNombresColumnas['whs'          ] = "WHS"          ;
    $arrNombresColumnas['etd'          ] = "ETD"          ;
    $arrNombresColumnas['eta'          ] = "ETA"          ;

    $arrReferencias = array();
    
    $this->Inicializar($strClaseBase, $arrNombresColumnas, $strOpcionListado, $strOpcionGuardar, $strCampoMostrar, $strClaseFiltro, $arrReferencias, "", $strClaseCarga);
    
    $this->bolABCLista             = true;
    $this->bolABCListaOcultarTD    = true;
    $this->bolPosibleNuevoElemento = false;
    $this->intTipoGuardado         = 1;
    $this->intNumeroRes            = 50;
    $this->bolSoloLectura          = true;
  }
}

?>